C# SDK API文档

本文档将详细介绍C# SDK的API,如果您想要了解如何接入,建议您阅读C# SDK 使用指南获得安装并使用SDK的方法

最新版本为:1.1.0

更新时间为:2019-09-24

一、实例化类

C# SDK共提供三种Consumer,分别为写入本地文件的LoggerConsumer,直接上传数据的BatchConsumer,与调试用的DebugConsumer

1. LoggerConsumer:批量实时写本地文件

LoggerConsumer(string logDirectory)
        /**
        *生成LoggerConsumer,文件按天切分,用于将数据写入本地文件,需要搭配传输工具上传数据
        *@param  logDirectory  log数据保存的文件目录
        */

LoggerConsumer(String logDirectory, RotateMode rotateHourly)
       /**
       *生成LoggerConsumer,设置文件切分规则,用于将数据写入本地文件,需要搭配传输工具上传数据
       *@param logDirectory log数据保存的文件目录
       *@param rotateHourly 枚举值, DAILY 代表按天切分,HOURLY 代表按小时切分
       */

LoggerConsumer(String logDirectory, RotateMode rotateHourly, int fileSize)
       /**
       *生成LoggerConsumer,设置文件切分规则,用于将数据写入本地文件,需要搭配传输工具上传数据
       *@param logDirectory log数据保存的文件目录
       *@param rotateHourly 枚举值, DAILY 代表按天切分,HOURLY 代表按小时切分
       *@param fileSize 单个log文件设置的大小,单位为M
       */

2. BatchConsumer:批量实时向服务器传输数据(不建议在生产环境中使用)

BatchConsumer(string serverUrl,string appId)
      /**
      *生成LoggerConsumer,用于将数据写入本地文件,需要搭配传输工具上传数据
      *@param serverUrl 传输的url
      *@param appId 项目的APPID
      * 默认传输:30条
      * 默认的请求超时时间:30s
      */

BatchConsumer(string serverUrl,string appId, int batchSize, int requestTimeoutSecond)
      /**
      *生成LoggerConsumer,用于将数据写入本地文件,需要搭配传输工具上传数据
      *@param serverUrl  传输的url
      *@param appId  项目的APPID
      *@param batchSize  设置一次传输多少条数据
      *@param  requestTimeoutSecond  设置请求超时时间,默认是30s,单位为秒
      */

3. DebugConsumer:调试用的实例,逐条上报,如果存在数据错误,数据将无法入库,同时将会返回详细的错误原因

DebugConsumer(string serverUrl, String appId) 
      /**
      *生成DebugConsumer,用于数据调试
      *@param serverUrl 传输的url
      *@param appId 项目的APPID
      */

4. 获得SDK实例

ThinkingDataAnalytics(IConsumer consumer)
    /**
     * 获得SDK实例,接收一个Consumer的实例化对象
     * @param consumer    BatchConsumer或LoggerConsumer实例
    */

二、数据操作:

1. 上传事件

void Track(string account_id, string distinct_id, string event_name, Dictionary<string, object> properties)
    /**
     * 上传事件
     * @param     account_id         账号ID
     * @param     distinct_id       访客ID,账号ID与访客ID必须传入一个
     * @param     event_name        事件名称
     * @param     properties        事件属性,支持的类型为字符串、数值类、bool、DateTime
    */

2. 设置公共属性

void SetPublicPropperties(Dictionary<string, object> properties) 
    /**
     * 设置公共属性,只用于track接口,其他接口无效,每次上传事件时自动添加设置的公共属性
     * @param properties    公共属性
    */

3. 清除公共属性

void ClearPublicProperties()
    /**
     * 清空所有的公共事件属性,在下次设置之前,上传事件将不再带有公共属性
    */

4. 设置用户属性

void UserSet(string account_id,string distinct_id, Dictionary<string, object> properties)
    /**
     * 设置用户属性,如果该用户已经存在该属性,则覆盖,如果不存在则新建该属性,并赋值
     * @param    account_id    账号ID
     * @param    distinct_id    访客ID,账号ID与访客ID必须传入一个
     * @param    properties    需要被设置的用户属性
    */

5. 设置单次用户属性

void UserSetOnce(string account_id,string distinct_id, Dictionary<string, object> properties)
     /**
     * 设置用户属性,如果该用户已经存在该属性,不进行覆盖,如果不存在则新建该属性,并赋值
     * @param    account_id    账号ID
     * @param    distinct_id    访客ID,账号ID与访客ID必须传入一个
     * @param    properties    需要被设置的用户属性
     */

void UserSetOnce(string account_id,string distinct_id, string property, object value) 这个接口只能设置单个key对应的内容
     /**
     * 设置用户属性,如果该用户已经存在该属性,不进行覆盖,如果不存在则新建该属性,并赋值
     * @param    account_id    账号ID
     * @param    distinct_id    访客ID,账号ID与访客ID必须传入一个
     * @param    property    需要被设置的用户属性的字段名
     * @param    value            需要被设置的用户属性的属性值
     */

6. 累加用户属性


void UserAdd(string account_id,string distinct_id, Dictionary<string, object> properties)
         /**
         * 累加用户属性,只支持数字属性
         * @param    account_id    账号ID
         * @param    distinct_id    访客ID,账号ID与访客ID必须传入一个
         * @param    properties    需要做累加操作的用户属性
         */

void UserAdd(string account_id,string distinct_id, string property, long value)
         /**
         * 累加用户属性,只支持数字属性
         * @param    account_id    账号ID
         * @param    distinct_id    访客ID,账号ID与访客ID必须传入一个
         * @param    property    累加操作的用户属性的字段名
         * @param    value            累加操作的用户属性的属性值
         */

7. 删除用户

void UserDelete(string account_id,string distinct_id)
    /**
     * 删除用户的接口,请注意该操作可能产生不可逆的后果,请慎用
     * @param     account_id    账号ID
     * @param    distinct_id    访客ID,账号ID与访客ID必须传入一个
    */

8. 立即上传数据

void Flush()
    /**
     * 立即提交数据到相应的接收器
    */

9. 关闭并退出SDK

void Close()
    /**
     * 关闭并退出sdk
    */

results matching ""

    No results matching ""